home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 22 / AACD 22.iso / AACD / Magazine / SFX / sfx-data / _rexx / Resynth.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  2000-02-22  |  4.9 KB  |  138 lines

  1. /****h* SoundFX/Resynth.rexx [4.00] *
  2. *  NAME
  3. *    Resynth.rexx
  4. *  COPYRIGHT
  5. *    $VER: Resynth.rexx 4.00 (22.02.00) © by Stefan Kost 1998-2000
  6. *  FUNCTION
  7. *    synthesizes (sub)bass-waves and filtered noise modulated by the current
  8. *    sample 
  9. *  AUTHOR
  10. *    Stefan Kost
  11. *  CREATION DATE
  12. *    22.Feb.2000
  13. *  MODIFICATION HISTORY
  14. *    22.Feb.2000    V 4.00    most recent version
  15. *    22.Feb.2000    V 1.00    initial version
  16. *  NOTES
  17. *
  18. *******
  19. */
  20.  
  21. OPTIONS RESULTS
  22. ADDRESS REXX_SFX
  23.  
  24. SFX_GetActiveBuffer
  25. sbuf=RESULT
  26. IF sbuf>-1 THEN DO
  27.     SFX_GetLength sbuf
  28.     slen=RESULT
  29.     slenstr='"'||slen||' sv"'
  30.     SFX_GetRate sbuf
  31.     srat=RESULT
  32.     sratstr='"'||srat||' Hz"'
  33.     SFX_GetChannels sbuf
  34.     scha=RESULT
  35.  
  36.     SFX_SelOperator 'Filter-StateVariable'
  37.     SFX_SetOperatorParam 'Filter-StateVariable' 'P1S' '1.0'
  38.     SFX_SetOperatorParam 'Filter-StateVariable' 'P1ModShape' 'None'
  39.     SFX_SetOperatorParam 'Filter-StateVariable' 'P2S' '0.1'
  40.     SFX_SetOperatorParam 'Filter-StateVariable' 'P2ModShape' 'None'
  41.     SFX_SetOperatorParam 'Filter-StateVariable' 'P3S' '1.0'
  42.     SFX_SetOperatorParam 'Filter-StateVariable' 'P3ModShape' 'None'
  43.     SFX_SetOperatorParam 'Filter-StateVariable' 'Type' 'LowPass'
  44.     SFX_ProcessSample sbuf
  45.     IF RC=0 THEN tbuf1=RESULT
  46.     ELSE tbuf1=-2
  47.  
  48.     SFX_SetOperatorParam 'Filter-StateVariable' 'Type' 'HighPass'
  49.     SFX_ProcessSample sbuf
  50.     IF RC=0 THEN tbuf2=RESULT
  51.     ELSE tbuf2=-2
  52.  
  53.     IF tbuf1>-1 AND tbuf2>-1 THEN DO
  54.         SFX_SelOperator 'Noise'
  55.         SFX_SetOperatorParam 'Noise' 'P1S' '0.0'
  56.         SFX_SetOperatorParam 'Noise' 'P1E' '0.0'
  57.         SFX_SetOperatorParam 'Noise' 'P1ModShape' 'None'
  58.         SFX_SetOperatorParam 'Noise' 'P2S' '1.0'
  59.         SFX_SetOperatorParam 'Noise' 'P2S' '0.1'
  60.         SFX_SetOperatorParam 'Noise' 'P2ModShape' 'User'
  61.         SFX_SetOperatorParam 'Noise' 'P2UserModBuf' tbuf1
  62.         SFX_SetOperatorParam 'Noise' 'P2UserMode' 'Repeat'
  63.         SFX_SetOperatorParam 'Noise' 'P2UserType' 'AmpEnv'
  64.         SFX_SetOperatorParam 'Noise' 'P2UserAmpEnv' 'MaxDecay'
  65.         SFX_SetOperatorParam 'Noise' 'Rate' sratstr
  66.         SFX_SetOperatorParam 'Noise' 'Length' slenstr
  67.         SFX_ProcessSample
  68.         IF RC=0 THEN tmpbuf1=RESULT
  69.         ELSE tmpbuf1=-2
  70.  
  71.         SFX_SelOperator 'Filter-StateVariable'
  72.         SFX_SetOperatorParam 'Filter-StateVariable' 'P1S' '1.0'
  73.         SFX_SetOperatorParam 'Filter-StateVariable' 'P1ModShape' 'None'
  74.         SFX_SetOperatorParam 'Filter-StateVariable' 'P2S' '0.0'
  75.         SFX_SetOperatorParam 'Filter-StateVariable' 'P2E' '1.0'
  76.         SFX_SetOperatorParam 'Filter-StateVariable' 'P2ModShape' 'User'
  77.         SFX_SetOperatorParam 'Filter-StateVariable' 'P2UserModBuf' tbuf2
  78.         SFX_SetOperatorParam 'Filter-StateVariable' 'P2UserMode' 'Repeat'
  79.         SFX_SetOperatorParam 'Filter-StateVariable' 'P2UserType' 'AmpEnv'
  80.         SFX_SetOperatorParam 'Filter-StateVariable' 'P2UserAmpEnv' 'MaxDecay'
  81.         SFX_SetOperatorParam 'Filter-StateVariable' 'P3S' '1.0'
  82.         SFX_SetOperatorParam 'Filter-StateVariable' 'P3E' '25.0'
  83.         SFX_SetOperatorParam 'Filter-StateVariable' 'P3ModShape' 'User'
  84.         SFX_SetOperatorParam 'Filter-StateVariable' 'P3UserModBuf' tbuf2
  85.         SFX_SetOperatorParam 'Filter-StateVariable' 'P3UserMode' 'Repeat'
  86.         SFX_SetOperatorParam 'Filter-StateVariable' 'P3UserType' 'AmpEnv'
  87.         SFX_SetOperatorParam 'Filter-StateVariable' 'P3UserAmpEnv' 'MaxDecay'
  88.         SFX_SetOperatorParam 'Filter-StateVariable' 'Type' 'LowPass'
  89.         SFX_SetOperatorParam 'Filter-StateVariable' 'Ampf' '0.8'
  90.         SFX_ProcessSample tmpbuf1
  91.         IF RC=0 THEN tmpbuf2=RESULT
  92.         ELSE tmpbuf2=-2
  93.  
  94.         SFX_SelOperator 'Amplify'
  95.         SFX_SetOperatorParam 'Amplify' 'P1S' '0.0'
  96.         SFX_SetOperatorParam 'Amplify' 'P1E' '1.0'
  97.         SFX_SetOperatorParam 'Amplify' 'P1ModShape' 'User'
  98.         SFX_SetOperatorParam 'Amplify' 'P1UserModBuf' tbuf2
  99.         SFX_SetOperatorParam 'Amplify' 'P1UserMode' 'Repeat'
  100.         SFX_SetOperatorParam 'Amplify' 'P1UserType' 'AmpEnv'
  101.         SFX_SetOperatorParam 'Amplify' 'P1UserAmpEnv' 'MaxDecay'
  102.         SFX_SetOperatorParam 'Amplify' 'MaxVol' '0'
  103.         SFX_ProcessSample tmpbuf2
  104.         IF RC=0 THEN dbuf1=RESULT
  105.         ELSE dbuf1=-2
  106.  
  107.         SFX_SelOperator 'Synthesize-Add'
  108.         SFX_SetOperatorPreset 'Synthesize-Add' 'SimpleSaw'
  109.         SFX_SetOperatorParam 'Synthesize-Add' 'P2S' '0.0'
  110.         SFX_SetOperatorParam 'Synthesize-Add' 'P2E' '1.0'
  111.         SFX_SetOperatorParam 'Synthesize-Add' 'P2ModShape' 'User'
  112.         SFX_SetOperatorParam 'Synthesize-Add' 'P2UserModBuf' tbuf1
  113.         SFX_SetOperatorParam 'Synthesize-Add' 'P2UserMode' 'Repeat'
  114.         SFX_SetOperatorParam 'Synthesize-Add' 'P2UserType' 'AmpEnv'
  115.         SFX_SetOperatorParam 'Synthesize-Add' 'P2UserAmpEnv' 'MaxDecay'
  116.         SFX_SetOperatorParam 'Synthesize-Add' 'Rate' sratstr
  117.         SFX_SetOperatorParam 'Synthesize-Add' 'Length' slenstr
  118.         SFX_SetOperatorParam 'Synthesize-Add' 'Pitch' '"65.406391 Hz"'
  119.         SFX_ProcessSample
  120.         IF RC=0 THEN dbuf2=RESULT
  121.         ELSE dbuf2=-2
  122.  
  123.         IF dbuf1>-1 AND dbuf2>-1 THEN DO
  124.             SFX_SelOperator 'Mix'
  125.             SFX_SetOperatorParam 'Mix' 'P1S' '0.3'
  126.             SFX_SetOperatorParam 'Mix' 'P1ModShape' 'None'
  127.             SFX_ProcessSample dbuf1 dbuf2
  128.             IF RC=0 THEN dbuf=RESULT
  129.             ELSE dbuf=-2
  130.         END
  131.         ELSE SFX_Message '"Operators Noise, Filter-StateVariable,Amplify or Synthesize-Add failed !"'
  132.     END
  133.     ELSE SFX_Message '"Operator Filter-StateVariable failed !"'
  134. END
  135. ELSE SFX_Message '"No sample to operate on !"'
  136. SFX_Activate
  137. EXIT
  138.